package com.code.leetcode._202503;
/**整数反转**/
public class ReverseNum {

    public static void main(String[] args) {

    }

    //不完全解法
    public int reverse(int x) {
        long ans = 0;
        while (x != 0) {
            ans = ans * 10 + x % 10;
            x /= 10;
        }
        return (int) ans == ans ? (int)ans : 0;
    }
    //完美解法
    public int reverse1(int x) {
        int ans = 0;
        while (x != 0) {
            if (x > 0 && ans > (Integer.MAX_VALUE - x % 10) / 10) return 0;
            if (x < 0 && ans < (Integer.MIN_VALUE - x % 10) / 10) return 0;
            ans = ans * 10 + x % 10;
            x /= 10;
        }
        return ans;
    }



}
